home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / gui / gui4cli.lha / Gui4Cli / Docs / Tutorials / Resize.gc < prev    next >
Encoding:
Gui4CLI script  |  1999-12-01  |  2.9 KB  |  98 lines

  1. G4C
  2.  
  3. ; Shows the use of RESIZE Attributes
  4. ; ---------------------------------------------------------------
  5. ; The gui consists of a cycler & 2 buttons at the top, which we 
  6. ; want to remain the same height and only their width resizable
  7. ; and a listview which we want to resize as much as the window..
  8.  
  9. ; This is the default setting and it is set with the "ATTR"
  10. ; gadget modifiers. 
  11.  
  12. ; The cycler will change these settings with the "SETATTR" command
  13. ; to various others.. the above however looks best.
  14. ; ----------------------------------------------------------------
  15.  
  16. WINBIG 97 38 278 154 Resize.gc
  17. WinType 11110001
  18.  
  19. xOnLoad
  20.     GuiOpen #This
  21.  
  22. xOnClose
  23.     GuiQuit #This
  24.  
  25. ; ---------------------------------------------------------------
  26. ; The Listview
  27. ; ---------------------------------------------------------------
  28.  
  29. XLISTVIEW 0 14 277 140 "" filename "" 0 DIR
  30.     gadid 1
  31.     gadfont #mono 8 000  ; dirlvs look better in monospaced font..
  32.  
  33.     ; If left as above, this listview would resize and reposition
  34.     ; proportionally to the change in window size. We change this
  35.     ; behaviour with the ATTR gadget modifier below, which will 
  36.     ; cause : Left & top to stay the same (since they're 0's) and
  37.     ; Width & Height to be resized by adding the full width that
  38.     ; the window resized by (since they're 2's)
  39.     Attr RESIZE 0022
  40.  
  41. ; ---------------------------------------------------------------
  42. ; The "Par" & "Vol" Buttons
  43. ; These control the above Listview and are resized proportionally
  44. ; width-wise, but stay the same height-wise.
  45. ; ---------------------------------------------------------------
  46.  
  47. XBUTTON 170 0 53 14 "Par"
  48.     gadid 2
  49.     ATTR  RESIZE 1010        ; resize Left & Width relatively
  50.     lvuse #this 1
  51.     lvdir parent
  52.  
  53. XBUTTON 224 0 53 14 "Vol"
  54.     gadid 3
  55.     ATTR  RESIZE 1010        ; resize Left & Width relatively
  56.     lvuse #this 1
  57.     lvdir Disks
  58.  
  59. ; ---------------------------------------------------------------
  60. ; Resize mode Cycler
  61. ; This cycler will change the resizing mode of each gadget in
  62. ; this gui, by using the "SETATTR" command, which does exactly
  63. ; what "ATTR" does but dynamically, ie while the gui is running.
  64. ; ---------------------------------------------------------------
  65.  
  66. XCYCLER 0 0 169 14 "" mode
  67.     CSTR "Controlled"    CONTROLLED    ; controlled resizing
  68.     CSTR "Normal"          NORMAL        ; normal (relative) resizing
  69.     CSTR "None"          NONE        ; no resizing
  70.  
  71.     gadid 4
  72.     ATTR  RESIZE 0010        ; resize Width only, relatively
  73.  
  74.     if $mode = CONTROLLED    
  75.     ; this is the default setting
  76.         setattr #this/1 RESIZE  0022
  77.         setattr #this/2 RESIZE  1010
  78.         setattr #this/3 RESIZE  1010
  79.         setattr #this/4 RESIZE  0010
  80.  
  81.     elseif $mode = NORMAL    
  82.     ; normal resize (like if you did not declare any Attr/Setattr)
  83.         setattr #this/1 RESIZE  1111
  84.         setattr #this/2 RESIZE  1111
  85.         setattr #this/3 RESIZE  1111
  86.         setattr #this/4 RESIZE  1111
  87.  
  88.     else
  89.     ; no resize..
  90.         setattr #this/1 RESIZE  0000
  91.         setattr #this/2 RESIZE  0000
  92.         setattr #this/3 RESIZE  0000
  93.         setattr #this/4 RESIZE  0000
  94.  
  95.     endif
  96.  
  97.  
  98.